package com.swxy.club.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.swxy.club.enums.AuditStatus;
import com.swxy.club.serializer.EnumFlatSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author 易
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("activity_review")
public class ActivityReview  extends BaseDto{

    /**
     * 主键ID，自增
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 社团ID，关联社团表
     */
    private Long clubId;

    /**
     * 申请人ID，关联用户表
     */
    private Long userId;

    /**
     * 申请理由
     */
    private String applyReason;

    /**
     * 审核状态（如：pending, approved, rejected）
     */
    @JsonSerialize(using = EnumFlatSerializer.class)
    private AuditStatus status;

    /**
     * 拒绝理由
     */
    private String refuseReason;

    /**
     * 处理人ID，关联用户表
     */
    private Long operateId;
}